Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
🏗 7 архитектурных паттернов, которые должен знать каждый программист
Рассмотрим семь ключевых архитектурных паттернов, которые могут помочь вам выделиться среди соискателей и получить работу мечты.
https://proglib.io/sh/aMZjqlAcr3
Рассмотрим семь ключевых архитектурных паттернов, которые могут помочь вам выделиться среди соискателей и получить работу мечты.
https://proglib.io/sh/aMZjqlAcr3
Каким будет результат следующего выражения: -31 % 10?
Результатом выражения -31 % 10 будет 9. Это происходит потому, что для отрицательных чисел оператор % возвращает остаток от деления первого числа на второе немного другим образом. -31 % 10 = -3 — 1/10 и в ответ мы получим 10 — 1 = 9.
Библиотека задач по Python
Библиотека задач по Python
Зачем нужен wraps?
Декоратор functools.wraps используется для того, чтобы сохранить информацию о функции-оригинале при создании декоратора.
Когда мы создаем декоратор, он заменяет оригинальную функцию на обернутую. При этом теряется информация о названии функции, docstring и другие атрибуты.
Используя wraps, мы можем сохранить эти атрибуты. Таким образом декорированная функция будет выглядеть как оригинальная для программиста.
Это полезно для отладки и понимания кода. Например, при просмотре стека вызовов будет видно оригинальное имя функции, а не имя декоратора. При использовании help() будет выведен нужный docstring.
Библиотека задач по Python
Когда мы создаем декоратор, он заменяет оригинальную функцию на обернутую. При этом теряется информация о названии функции, docstring и другие атрибуты.
Используя wraps, мы можем сохранить эти атрибуты. Таким образом декорированная функция будет выглядеть как оригинальная для программиста.
Это полезно для отладки и понимания кода. Например, при просмотре стека вызовов будет видно оригинальное имя функции, а не имя декоратора. При использовании help() будет выведен нужный docstring.
Библиотека задач по Python
Что выведет код сверху?
👾 — False, False
👍 — True, False
🥰 — False, True
⚡️ — True, True
Библиотека задач по Python
👾 — False, False
👍 — True, False
🥰 — False, True
⚡️ — True, True
Библиотека задач по Python
Кто разработал язык программирования Python?
Anonymous Quiz
10%
Вик ван Россум
10%
Расмус Лердорф
77%
Гвидо ван Россум
3%
Ниене Стом
Что из перечисленного лучше всего описывает наследование?
Anonymous Quiz
63%
Способность класса выводить членов другого класса как часть своего собственного определения
10%
Средства объединения переменных и методов экземпляра с целью ограничения доступа к членам класса
3%
Основное внимание уделяется переменным и передаче переменных в функции
23%
Позволяет реализовать элегантное программное обеспечение, которое легко модифицируется
Какой тип наследования проиллюстрирован в следующем коде на Python?
👾 — Многоуровневое наследование
👍 — Множественное наследование
🥰 — Иерархическое наследование
⚡️ — Одноуровневое наследование
Библиотека задач по Python
class A():
pass
class B():
pass
class C(A,B):
pass
👾 — Многоуровневое наследование
👍 — Множественное наследование
🥰 — Иерархическое наследование
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Что из перечисленного не является типом наследования?
👾 — Двухуровневый
👍 — Многоуровневый
🥰 — Одноуровневый
⚡️ — Многоуровневый
Библиотека задач по Python
👾 — Двухуровневый
👍 — Многоуровневый
🥰 — Одноуровневый
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает хэш-таблица?
Хэш-таблица в Python реализована в виде словаря (dict). Вот как это работает:
— Хэширование ключей: Когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код — это целое число, представляющее «отпечаток» ключа.
— Разрешение коллизий: Если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого «ячейки» хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.
— Поиск значения: При поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей «ячейки» в хэш-таблице. Затем происходит поиск значения внутри этой «ячейки» (или цепочки).
Библиотека задач по Python
— Хэширование ключей: Когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код — это целое число, представляющее «отпечаток» ключа.
— Разрешение коллизий: Если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого «ячейки» хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.
— Поиск значения: При поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей «ячейки» в хэш-таблице. Затем происходит поиск значения внутри этой «ячейки» (или цепочки).
Библиотека задач по Python
Какой будет вывод следующего кода Python?
👾 — Ошибка, так как класс B наследует A, но переменная x не наследуется
👍 — 0 0
🥰 — 0 1
⚡️ — Ошибка, синтаксис вызывающего метода неверен
Библиотека задач по Python
👾 — Ошибка, так как класс B наследует A, но переменная x не наследуется
👍 — 0 0
🥰 — 0 1
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🚨 Смешные новости про IT теперь в одном канале
Мы запустили @hahacker_news — наш новый юмористический IT-канал.
Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.
👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
Мы запустили @hahacker_news — наш новый юмористический IT-канал.
Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.
👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
Какой будет вывод следующего кода Python?
👾 — False
👍 — True
🥰 — Error
⚡️ — None
Библиотека задач по Python
👾 — False
👍 — True
🥰 — Error
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Метод __getitem__
Метод __getitem__ является частью протокола индексации, который позволяет объекту быть индексируемым, как это делается, например, для списков или словарей. Этот метод вызывается при использовании квадратных скобок [] для доступа к элементам объекта.
Этот метод также используется при работе с срезами. Если вы хотите, чтобы ваш объект поддерживал срезы, вы также можете реализовать метод __getitem__ с тремя аргументами: self, start, stop.
Библиотека задач по Python
Этот метод также используется при работе с срезами. Если вы хотите, чтобы ваш объект поддерживал срезы, вы также можете реализовать метод __getitem__ с тремя аргументами: self, start, stop.
Библиотека задач по Python
Что делает функция random.choice()?
Функция random.choice() модуля random возвращает один случайный элемент из непустой последовательности.
Последовательность может быть неизменяемой (например кортеж) или изменяемой (список). Функция random.choice() поддерживает диапазоны range().
Если последовательность пуста, то поднимается исключение
IndexError.
Библиотека задач по Python
Последовательность может быть неизменяемой (например кортеж) или изменяемой (список). Функция random.choice() поддерживает диапазоны range().
Если последовательность пуста, то поднимается исключение
IndexError.
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Все подклассы являются подтипами в объектно-ориентированном программировании.
👾 — True
⚡️ — False
Библиотека задач по Python
👾 — True
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🥵 Устали от статей, где эйчары рассказывают, как на самом деле выглядит рынок труда в ИТ?
Мы тоже! Поэтому решили узнать правду и представить ее всем айтишникам — но нам нужен ваш голос. Опрос займет 3 минуты, а пользы — вагон для всего сообщества.
Результаты этого исследования помогут понять, как специалистам искать работу в 2025-м (а компаниям — специалистов).
👉 Если вы готовы сделать свой вклад в исследование — велком: https://clc.to/VGgyNA
Мы тоже! Поэтому решили узнать правду и представить ее всем айтишникам — но нам нужен ваш голос. Опрос займет 3 минуты, а пользы — вагон для всего сообщества.
Результаты этого исследования помогут понять, как специалистам искать работу в 2025-м (а компаниям — специалистов).
👉 Если вы готовы сделать свой вклад в исследование — велком: https://clc.to/VGgyNA